package com.hzncc.flowable_diboot.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;

/**
* 客户画像 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-07-05
* Copyright © MyCorp
*/

@TableName("mdl_customer_portrait")
@Getter @Setter @Accessors(chain = true)
public class CustomerPortrait extends BaseModel {
    private static final long serialVersionUID = 1556966802884472196L;

    /**
     * 租户
     */
    @NotNull(message = "租户不能为空")
    @TableField()
    private String tenantId;

    /**
     * 行业
     */
    @TableField()
    private String industry;

    /**
     * 客户主要经营描述/计划 内销
     */
    @Length(max=100, message="客户主要经营描述/计划 内销长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mainBusinessDes1;

    /**
     * 客户主要经营描述/计划 外销
     */
    @Length(max=100, message="客户主要经营描述/计划 外销长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mainBusinessDes2;

    /**
     * 客户主要经营描述/计划 其他
     */
    @Length(max=100, message="客户主要经营描述/计划 其他长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mainBusinessDes3;

    /**
     * 客户主力机型
     */
    @Length(max=100, message="客户主力机型长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mainType;

    /**
     * 主配系统
     */
    @Length(max=100, message="主配系统长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String mainSys;

    /**
     * 配套华中系统等级
     */
    @TableField()
    private String sysLev;

    /**
     * 可配套核心因素
     */
    @TableField()
    private String coreReason;

    /**
     * 对标竞争对手
     */
    @TableField()
    private String competitor;

    /**
     * 合作方向/突破口
     */
    @Length(max=500, message="合作方向/突破口长度应小于500")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String breakthrough;

    /**
     * 客户图片
     */
    @TableField()
    private String customerPicture;

    /**
     * 协议图片
     */
    @TableField()
    private String dealPicture;

    /**
     * 协议附件
     */
    @TableField()
    private String dealAttach;

    /**
     * 客户主键
     */
    @Length(max=32, message="客户主键长度应小于32")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String customerId;


}